package mark.tom.friend.contract;

import io.reactivex.Observable;
import mark.tom.friend.base.presenter.BasePresenter;
import mark.tom.friend.base.view.BaseView;
import mark.tom.friend.bean.bo.AppConfigBO;
import mark.tom.friend.bean.vo.AppInfoVO;
import mark.tom.friend.consts.BundleKeyConsts;

public interface AppInfoContract {

    interface View extends BaseView {

        void showAppConfigInfo(AppInfoVO appInfo);

        void directToConfigPage(int requestCode, String group, String content);
    }

    interface Presenter extends BasePresenter {

        Observable<AppConfigBO> directToConfigPage(@BundleKeyConsts.AppConfigGroup String appConfigGroup);

        Observable<AppConfigBO> loadAppDebugInfo();

        Observable<Boolean> updateAppDebugAbleStatus(boolean debugAble);

        Observable<String> onResult(int requestCode, Object data);
    }
}
